Graphical display devices, such as computer displays or televisions are commonly used for displaying two or three-dimensional objects to a user of the device. Typically an audio/visual (AV) clip to be displayed to the user consists of a video stream, at least one audio stream and a graphics stream. The video stream corresponds to a moving picture of a film, the audio stream corresponds to the audio of the film and the graphics stream typically corresponds to subtitles or menu data of the film.
The introduction of three-dimensional (3D) video creates new opportunities for creative content creators, for instance in the area of movie publishing. 3D video is experiencing a revival with the introduction of new autostereoscopic displays and improvement of existing techniques, such as monitors with high refresh rates.
The Blu-ray Disc (BD) is a disc format meant for high-density storage of high-definition (HD) video and data. The Blu-ray standard was jointly developed by a group of consumer electronics and personal computer (PC) companies called the Blu-ray Disc Association (BDA).
FIG. 1 shows the principal elements of a graphics system, which in this case operates in accordance with the Blu-ray standard. In FIG. 1 there is shown a BD 101, which in this description shall be referred to as a BD-ROM 101. The BD-ROM 101 is adapted for storing data, such as 3D video clips. Then there is shown a BD player 103 also known as a playback unit, which is capable of decoding data from the BD-ROM 101. The BD player 103 supports at least one of the following audio and video codecs: MPEG-2, MPEG-4 and H.264/AVC. The BD player 103 may also be arranged to record data onto the BD-ROM 101. The player 103 is connected to a display unit 105 comprising a screen. The display unit 105 in this case is a television 105.
FIG. 2 shows one example of a block diagram of a graphics decoder 200, which can be used to decode 2D or 3D graphics data streams. In this example the decoder 200 is physically located in the BD player 103.
The data stream that consists of data segments first arrives at a coded data buffer 201. The data stream comprises the following functional segment types: a presentation composition segment (PCS), a window definition segment (WDS), a palette definition segment (PDS), an object definition segment (ODS) and an end of display segment (END).
The ODS is a functional segment for defining a graphics object. The graphics object is located in a field called object_data_fragment. The ODS also comprises other fields, for instance an object_ID field used for identifying the graphics object.
The PDS is a functional segment for defining a palette used for colour conversion. The PDS comprises data showing pixel values and combinations of pixel codes of 1 to 255. A pixel value referred to here is made up of a transparency (T value), a red colour difference component (Cr value), a blue colour difference component (Cb value) and a luminance component (Y value).
The WDS is a functional segment for defining an area on the graphics plane. The meaning of the graphics plane will be explained later. A rectangular area on the graphics plane is called a window, which is defined by the WDS.
The END is a functional segment indicating that the transmission of the data sequence is complete, i.e. that all segments relating to a display set have been decoded.
The PCS is a functional segment for composing a screen that can be synchronised with a moving image. The PCS also defines the appearance of a graphics display on the graphics plane.
The number of different segment types in the data stream may vary depending on the transmitted graphics object. For instance, there can be several ODS, but only one PCS. The different segments types are linked together by using different identifiers, such as an object identity, a window identity or a palette identity, in the segments. One graphics stream further forms a display set. International patent publication WO2005/006747, for instance, discloses more details on these functional segments.
A graphics processor 203 extracts the data segments from the coded data buffer at time instants defined by system time-stamps associated with the data segments to create a data sequence. When the PCSs, PDSs and WDSs arrive at the graphics processor, they are decoded to a composition buffer 205. When the ODSs arrive at the graphics processor 203, the graphics processor decodes the ODSs to obtain uncompressed graphics having index colours, and transfers the uncompressed graphics to an object buffer 207.
A graphics controller 209 is responsible for compositing graphics images onto the graphics plane 211 in accordance with the description in the PCS. The graphics controller also provides, based on the data fields in the PCS, information related to cropping graphics objects that are in the object buffer 207. Thus, the functional segments are decoded and a graphics object is composited onto the graphics plane 211 inside a bounding area called a window.
A colour clut block 213 performs a colour conversion on the uncompressed graphics obtained from the object buffer 207 based on information obtained from the graphics controller 209. For this purpose the graphics controller 209 is also connected to the colour clut block 213.
The graphics stream is then output to a display 105.
However, introducing 3D video and 3D graphics into such graphics systems usually requires changes to MPEG standards for the video and also changes in the graphics system. This is the case, for instance for including 3D graphics in Blu-ray graphics system. Such changes are cumbersome.
Therefore, it is desirable to find a simple solution to include 3D graphics into the existing graphics systems without the need to change the existing system specifications.